package patron_observer;


public interface Sujeto {
		
		// Subscripcion a != eventos
		void sub_llegada_de_nuevos_mensajes(Observador o);
		void sub_elimina_de_nuevos_mensajes(Observador o);
		void sub_insercion_de_viejos_mensajes(Observador o);
		void sub_elimina_de_viejos_mensajes(Observador o);
		
		/* Desubscripciones - No hace falta por ahora
		void desub_llegada_de_nuevos_mensajes(Observador o);
		void desub_elimina_de_nuevos_mensajes(Observador o);
		void desub_insercion_de_viejos_mensajes(Observador o);
		void desub_elimina_de_viejos_mensajes(Observador o);
		*/
		
		// Notificacion correspondiente a cada evento
		void notif_llegada_de_nuevos_mensajes();
		void notif_elimina_de_nuevos_mensajes(int i);
		void notif_insercion_de_viejos_mensajes();
		void notif_elimina_de_viejos_mensajes(int i);
	
}
